home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 2 / Macwelt DVD 2.cdr / System / Entwickler-Tools / macos9 / TNT Basic 1.0.3 / Examples / Fireworks < prev    next >
MacBinary  |  2001-09-25  |  7.4 KB  |  [rsrc/Hyr2]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert MacOS Resource Fork (archive/rsrc) magic Supported
1% dexvert MacBinary (archive/macBinary) fallback Supported
100% file MacBinary II, inited, Tue Sep 25 03:18:37 2001, modified Tue Sep 25 03:18:37 2001, creator 'Hyr2', type resource "Fireworks", at 0x80 7317 bytes resource Apple HFS/HFS+ resource fork, map offset 0x1bf7, map length 0x9e, data length 0x1af7, nextResourceMap 0x534f5254, fileRef 0x442, attributes 0x80, list offset 0x1c, name offset 0x82, 5 types, 0x42617363 'Basc' * 1 resource offset 0x2a default (weak)
99% file Adobe Photoshop Color swatch, version 0, 256 colors; 1st RGB space (0), w 0x1bf7, x 0, y 0x1af7, z 0 ; 2nd space (158), w 0, x 0, y 0, z 0 default (weak)
98% file data default
74% TrID Mac resource data (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default
100% librempegprobeID NGC (Nintendo DSP Standard) (ngcdspstd) default (weak)


id metadata
keyvalue
macFileType[rsrc]
macFileCreator[Hyr2]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 46 69 72 65 77 6f | 72 6b 73 00 00 00 00 00 |..Firewo|rks.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 72 73 72 63 48 79 72 | 32 01 00 00 00 00 7b 00 |.rsrcHyr|2.....{.|
|00000050| 00 00 00 00 00 00 00 00 | 00 1c 95 b7 d5 e0 4d b7 |........|......M.|
|00000060| d5 e0 4d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..M.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 a1 ab 00 00 |........|........|
|00000080| 00 00 01 00 00 00 1b f7 | 00 00 1a f7 00 00 00 9e |........|........|
|00000090| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 1a bb 27 20 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |....' ..|........|
|00000190| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000001a0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000001b0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000001c0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000001d0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000001e0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000001f0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 0d |........|........|
|00000200| 27 20 46 69 72 65 57 6f | 72 6b 73 0d 27 20 a9 20 |' FireWo|rks.' . |
|00000210| 4d 61 72 6b 20 54 75 6c | 6c 79 20 26 20 54 4e 54 |Mark Tul|ly & TNT|
|00000220| 20 53 6f 66 74 77 61 72 | 65 20 32 30 30 30 0d 27 | Softwar|e 2000.'|
|00000230| 20 31 33 2f 36 2f 30 30 | 0d 27 20 d1 d1 d1 d1 d1 | 13/6/00|.' .....|
|00000240| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|00000250| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|00000260| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|00000270| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|00000280| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|00000290| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000002a0| d1 d1 d1 d1 d1 d1 d1 d1 | d1 d1 d1 d1 d1 d1 d1 d1 |........|........|
|000002b0| d1 d1 d1 d1 0d 0d 27 20 | 43 6f 6e 73 74 61 6e 74 |......' |Constant|
|000002c0| 73 0d 67 6c 6f 62 61 6c | 20 69 6e 74 09 09 6b 58 |s.global| int..kX|
|000002d0| 53 63 72 65 65 6e 3d 36 | 34 30 0d 67 6c 6f 62 61 |Screen=6|40.globa|
|000002e0| 6c 20 69 6e 74 09 09 6b | 59 53 63 72 65 65 6e 3d |l int..k|YScreen=|
|000002f0| 34 38 30 0d 67 6c 6f 62 | 61 6c 20 69 6e 74 09 09 |480.glob|al int..|
|00000300| 6b 4e 75 6d 46 77 3d 38 | 0d 67 6c 6f 62 61 6c 20 |kNumFw=8|.global |
|00000310| 69 6e 74 09 09 6b 4e 75 | 6d 50 61 72 74 69 63 6c |int..kNu|mParticl|
|00000320| 65 73 3d 31 36 09 27 20 | 4e 75 6d 62 65 72 20 6f |es=16.' |Number o|
|00000330| 66 20 70 61 72 74 69 63 | 6c 65 73 20 70 65 72 20 |f partic|les per |
|00000340| 66 77 20 28 6d 75 73 74 | 20 62 65 20 65 76 65 6e |fw (must| be even|
|00000350| 29 0d 67 6c 6f 62 61 6c | 20 69 6e 74 09 09 6b 58 |).global| int..kX|
|00000360| 53 70 65 65 64 4d 61 78 | 3d 33 09 09 27 20 4d 61 |SpeedMax|=3..' Ma|
|00000370| 78 69 6d 75 6d 20 6e 75 | 6d 62 65 72 20 6f 66 20 |ximum nu|mber of |
|00000380| 70 69 78 2f 66 72 61 6d | 65 20 66 6f 72 20 66 77 |pix/fram|e for fw|
|00000390| 20 78 20 73 70 65 65 64 | 0d 67 6c 6f 62 61 6c 20 | x speed|.global |
|000003a0| 69 6e 74 09 09 6b 59 53 | 70 65 65 64 4d 69 6e 4c |int..kYS|peedMinL|
|000003b0| 61 75 6e 63 68 3d 31 30 | 09 27 20 4d 69 6e 20 6c |aunch=10|.' Min l|
|000003c0| 61 75 6e 63 68 20 73 70 | 65 65 64 0d 67 6c 6f 62 |aunch sp|eed.glob|
|000003d0| 61 6c 20 69 6e 74 09 09 | 6b 59 53 70 65 65 64 4d |al int..|kYSpeedM|
|000003e0| 61 78 4c 61 75 6e 63 68 | 3d 32 32 09 27 20 4d 61 |axLaunch|=22.' Ma|
|000003f0| 78 20 6c 61 75 6e 63 68 | 20 73 70 65 65 64 0d 67 |x launch| speed.g|
|00000400| 6c 6f 62 61 6c 20 66 6c | 6f 61 74 09 6b 47 72 61 |lobal fl|oat.kGra|
|00000410| 76 69 74 79 3d 30 2e 35 | 09 09 27 20 41 63 63 65 |vity=0.5|..' Acce|
|00000420| 6c 20 64 75 65 20 74 6f | 20 67 72 61 76 69 74 79 |l due to| gravity|
|00000430| 20 69 6e 20 70 69 78 2f | 66 72 61 6d 65 2a 66 72 | in pix/|frame*fr|
|00000440| 61 6d 65 0d 67 6c 6f 62 | 61 6c 20 69 6e 74 09 09 |ame.glob|al int..|
|00000450| 6b 46 77 46 75 73 65 56 | 61 72 3d 31 35 09 09 27 |kFwFuseV|ar=15..'|
|00000460| 20 56 61 72 69 61 74 69 | 6f 6e 20 69 6e 20 66 75 | Variati|on in fu|
|00000470| 73 65 20 6c 65 6e 67 74 | 68 20 66 72 6f 6d 20 6f |se lengt|h from o|
|00000480| 70 74 69 6d 75 6d 0d 67 | 6c 6f 62 61 6c 20 69 6e |ptimum.g|lobal in|
|00000490| 74 09 09 6b 50 61 72 74 | 69 63 6c 65 4d 69 6e 46 |t..kPart|icleMinF|
|000004a0| 75 73 65 3d 31 30 09 27 | 20 66 75 73 65 20 6c 65 |use=10.'| fuse le|
|000004b0| 6e 67 74 68 73 20 66 6f | 72 20 74 68 65 20 70 61 |ngths fo|r the pa|
|000004c0| 72 74 69 63 6c 65 73 20 | 6f 66 20 74 68 65 20 66 |rticles |of the f|
|000004d0| 77 20 65 78 70 6c 6f 73 | 69 6f 6e 0d 67 6c 6f 62 |w explos|ion.glob|
|000004e0| 61 6c 20 69 6e 74 09 09 | 6b 50 61 72 74 69 63 6c |al int..|kParticl|
|000004f0| 65 4d 61 78 46 75 73 65 | 3d 32 30 0d 67 6c 6f 62 |eMaxFuse|=20.glob|
|00000500| 61 6c 20 69 6e 74 09 09 | 6b 4d 69 6e 45 78 70 6c |al int..|kMinExpl|
|00000510| 6f 64 65 46 6f 72 63 65 | 3d 33 30 30 09 27 20 6d |odeForce|=300.' m|
|00000520| 69 6e 20 61 6e 64 20 6d | 61 78 20 73 70 65 65 64 |in and m|ax speed|
|00000530| 73 20 74 68 65 20 70 61 | 72 74 69 63 6c 65 73 20 |s the pa|rticles |
|00000540| 63 61 6e 20 73 65 70 65 | 72 61 74 65 20 61 74 20 |can sepe|rate at |
|00000550| 2a 20 31 30 30 0d 67 6c | 6f 62 61 6c 20 69 6e 74 |* 100.gl|obal int|
|00000560| 09 09 6b 4d 61 78 45 78 | 70 6c 6f 64 65 46 6f 72 |..kMaxEx|plodeFor|
|00000570| 63 65 3d 38 30 30 0d 67 | 6c 6f 62 61 6c 20 69 6e |ce=800.g|lobal in|
|00000580| 74 09 09 6b 54 6f 74 61 | 6c 50 61 72 74 69 63 6c |t..kTota|lParticl|
|00000590| 65 73 3d 6b 4e 75 6d 46 | 77 2a 6b 4e 75 6d 50 61 |es=kNumF|w*kNumPa|
|000005a0| 72 74 69 63 6c 65 73 0d | 67 6c 6f 62 61 6c 20 69 |rticles.|global i|
|000005b0| 6e 74 09 09 6b 4e 75 6d | 50 61 72 74 69 63 6c 65 |nt..kNum|Particle|
|000005c0| 43 6f 6c 6f 75 72 73 3d | 35 0d 67 6c 6f 62 61 6c |Colours=|5.global|
|000005d0| 20 69 6e 74 09 09 6b 4d | 75 6c 74 69 43 6f 6c 6f | int..kM|ultiColo|
|000005e0| 75 72 46 77 3d 66 61 6c | 73 65 0d 0d 27 20 74 79 |urFw=fal|se..' ty|
|000005f0| 70 65 73 20 6f 66 20 70 | 61 72 74 69 63 6c 65 0d |pes of p|article.|
|00000600| 67 6c 6f 62 61 6c 20 69 | 6e 74 09 09 6b 4e 6f 74 |global i|nt..kNot|
|00000610| 49 6e 55 73 65 3d 30 0d | 67 6c 6f 62 61 6c 20 69 |InUse=0.|global i|
|00000620| 6e 74 09 09 6b 46 69 72 | 65 57 6f 72 6b 3d 31 0d |nt..kFir|eWork=1.|
|00000630| 67 6c 6f 62 61 6c 20 69 | 6e 74 09 09 6b 50 61 72 |global i|nt..kPar|
|00000640| 74 69 63 6c 65 3d 32 0d | 0d 27 20 47 6c 6f 62 61 |ticle=2.|.' Globa|
|00000650| 6c 73 20 66 6f 72 20 6d | 61 6e 61 67 69 6e 67 20 |ls for m|anaging |
|00000660| 66 69 72 65 77 6f 72 6b | 73 0d 27 20 67 46 77 4c |firework|s.' gFwL|
|00000670| 6f 63 5b 66 69 72 65 77 | 6f 72 6b 6e 75 6d 2c 30 |oc[firew|orknum,0|
|00000680| 5d 20 3d 20 78 0d 27 20 | 67 46 77 4c 6f 63 5b 66 |] = x.' |gFwLoc[f|
|00000690| 69 72 65 77 6f 72 6b 6e | 75 6d 2c 31 5d 20 3d 20 |ireworkn|um,1] = |
|000006a0| 79 0d 27 20 67 46 77 53 | 70 65 65 64 5b 66 69 72 |y.' gFwS|peed[fir|
|000006b0| 65 77 6f 72 6b 2c 30 5d | 20 3d 20 78 53 70 65 65 |ework,0]| = xSpee|
|000006c0| 64 0d 27 20 67 46 77 53 | 70 65 65 64 5b 66 69 72 |d.' gFwS|peed[fir|
|000006d0| 65 77 6f 72 6b 2c 31 5d | 20 3d 20 79 53 70 65 65 |ework,1]| = ySpee|
|000006e0| 64 0d 67 6c 6f 62 61 6c | 20 66 6c 6f 61 74 09 67 |d.global| float.g|
|000006f0| 46 77 4c 6f 63 5b 6b 54 | 6f 74 61 6c 50 61 72 74 |FwLoc[kT|otalPart|
|00000700| 69 63 6c 65 73 2c 32 5d | 0d 67 6c 6f 62 61 6c 20 |icles,2]|.global |
|00000710| 66 6c 6f 61 74 09 67 46 | 77 53 70 65 65 64 5b 6b |float.gF|wSpeed[k|
|00000720| 54 6f 74 61 6c 50 61 72 | 74 69 63 6c 65 73 2c 32 |TotalPar|ticles,2|
|00000730| 5d 0d 67 6c 6f 62 61 6c | 20 69 6e 74 09 09 67 46 |].global| int..gF|
|00000740| 77 43 6f 6c 6f 75 72 5b | 6b 54 6f 74 61 6c 50 61 |wColour[|kTotalPa|
|00000750| 72 74 69 63 6c 65 73 5d | 0d 67 6c 6f 62 61 6c 20 |rticles]|.global |
|00000760| 69 6e 74 09 09 67 46 77 | 46 75 73 65 5b 6b 54 6f |int..gFw|Fuse[kTo|
|00000770| 74 61 6c 50 61 72 74 69 | 63 6c 65 73 5d 0d 67 6c |talParti|cles].gl|
|00000780| 6f 62 61 6c 20 69 6e 74 | 09 09 67 46 77 49 6e 55 |obal int|..gFwInU|
|00000790| 73 65 5b 6b 54 6f 74 61 | 6c 50 61 72 74 69 63 6c |se[kTota|lParticl|
|000007a0| 65 73 5d 0d 67 6c 6f 62 | 61 6c 20 69 6e 74 09 09 |es].glob|al int..|
|000007b0| 67 50 61 72 74 69 63 6c | 65 43 6f 6c 6f 75 72 73 |gParticl|eColours|
|000007c0| 5b 6b 4e 75 6d 50 61 72 | 74 69 63 6c 65 43 6f 6c |[kNumPar|ticleCol|
|000007d0| 6f 75 72 73 5d 0d 0d 27 | 20 53 65 74 20 75 70 20 |ours]..'| Set up |
|000007e0| 74 68 65 20 70 61 72 74 | 69 63 6c 65 20 63 6f 6c |the part|icle col|
|000007f0| 6f 75 72 73 0d 67 50 61 | 72 74 69 63 6c 65 43 6f |ours.gPa|rticleCo|
|00000800| 6c 6f 75 72 73 5b 30 5d | 3d 53 65 74 20 52 65 64 |lours[0]|=Set Red|
|00000810| 20 43 6f 6d 70 6f 6e 65 | 6e 74 28 67 50 61 72 74 | Compone|nt(gPart|
|00000820| 69 63 6c 65 43 6f 6c 6f | 75 72 73 5b 30 5d 2c 32 |icleColo|urs[0],2|
|00000830| 35 35 29 0d 67 50 61 72 | 74 69 63 6c 65 43 6f 6c |55).gPar|ticleCol|
|00000840| 6f 75 72 73 5b 31 5d 3d | 53 65 74 20 42 6c 75 65 |ours[1]=|Set Blue|
|00000850| 20 43 6f 6d 70 6f 6e 65 | 6e 74 28 67 50 61 72 74 | Compone|nt(gPart|
|00000860| 69 63 6c 65 43 6f 6c 6f | 75 72 73 5b 31 5d 2c 32 |icleColo|urs[1],2|
|00000870| 35 35 29 0d 67 50 61 72 | 74 69 63 6c 65 43 6f 6c |55).gPar|ticleCol|
|00000880| 6f 75 72 73 5b 32 5d 3d | 53 65 74 20 47 72 65 65 |ours[2]=|Set Gree|
|00000890| 6e 20 43 6f 6d 70 6f 6e | 65 6e 74 28 67 50 61 72 |n Compon|ent(gPar|
|000008a0| 74 69 63 6c 65 43 6f 6c | 6f 75 72 73 5b 32 5d 2c |ticleCol|ours[2],|
|000008b0| 32 35 35 29 0d 67 50 61 | 72 74 69 63 6c 65 43 6f |255).gPa|rticleCo|
|000008c0| 6c 6f 75 72 73 5b 33 5d | 3d 53 65 74 20 52 65 64 |lours[3]|=Set Red|
|000008d0| 20 43 6f 6d 70 6f 6e 65 | 6e 74 28 67 50 61 72 74 | Compone|nt(gPart|
|000008e0| 69 63 6c 65 43 6f 6c 6f | 75 72 73 5b 33 5d 2c 32 |icleColo|urs[3],2|
|000008f0| 35 35 29 0d 67 50 61 72 | 74 69 63 6c 65 43 6f 6c |55).gPar|ticleCol|
|00000900| 6f 75 72 73 5b 33 5d 3d | 53 65 74 20 47 72 65 65 |ours[3]=|Set Gree|
|00000910| 6e 20 43 6f 6d 70 6f 6e | 65 6e 74 28 67 50 61 72 |n Compon|ent(gPar|
|00000920| 74 69 63 6c 65 43 6f 6c | 6f 75 72 73 5b 33 5d 2c |ticleCol|ours[3],|
|00000930| 32 35 35 29 0d 67 50 61 | 72 74 69 63 6c 65 43 6f |255).gPa|rticleCo|
|00000940| 6c 6f 75 72 73 5b 34 5d | 3d 53 65 74 20 42 6c 75 |lours[4]|=Set Blu|
|00000950| 65 20 43 6f 6d 70 6f 6e | 65 6e 74 28 67 50 61 72 |e Compon|ent(gPar|
|00000960| 74 69 63 6c 65 43 6f 6c | 6f 75 72 73 5b 34 5d 2c |ticleCol|ours[4],|
|00000970| 32 35 35 29 0d 67 50 61 | 72 74 69 63 6c 65 43 6f |255).gPa|rticleCo|
|00000980| 6c 6f 75 72 73 5b 34 5d | 3d 53 65 74 20 52 65 64 |lours[4]|=Set Red|
|00000990| 20 43 6f 6d 70 6f 6e 65 | 6e 74 28 67 50 61 72 74 | Compone|nt(gPart|
|000009a0| 69 63 6c 65 43 6f 6c 6f | 75 72 73 5b 34 5d 2c 32 |icleColo|urs[4],2|
|000009b0| 35 35 29 0d 0d 48 69 64 | 65 20 4d 6f 75 73 65 0d |55)..Hid|e Mouse.|
|000009c0| 46 61 64 65 20 44 6f 77 | 6e 0d 47 72 61 70 68 69 |Fade Dow|n.Graphi|
|000009d0| 63 73 20 4d 6f 64 65 20 | 6b 58 53 63 72 65 65 6e |cs Mode |kXScreen|
|000009e0| 2c 6b 59 53 63 72 65 65 | 6e 0d 46 61 64 65 20 55 |,kYScree|n.Fade U|
|000009f0| 70 0d 0d 77 68 69 6c 65 | 20 6e 6f 74 20 4d 6f 75 |p..while| not Mou|
|00000a00| 73 65 20 42 75 74 74 6f | 6e 0d 0d 09 53 70 61 77 |se Butto|n...Spaw|
|00000a10| 6e 46 69 72 65 77 6f 72 | 6b 73 28 29 0d 09 41 6e |nFirewor|ks()..An|
|00000a20| 69 6d 61 74 65 46 69 72 | 65 77 6f 72 6b 73 28 29 |imateFir|eworks()|
|00000a30| 0d 09 44 72 61 77 46 69 | 72 65 77 6f 72 6b 73 28 |..DrawFi|reworks(|
|00000a40| 29 0d 09 0d 09 44 72 61 | 77 20 46 72 61 6d 65 0d |)....Dra|w Frame.|
|00000a50| 0d 09 53 65 74 20 50 65 | 6e 20 43 6f 6c 6f 75 72 |..Set Pe|n Colour|
|00000a60| 20 30 0d 09 50 61 69 6e | 74 20 43 61 6e 76 61 73 | 0..Pain|t Canvas|
|00000a70| 0d 09 53 65 74 20 50 65 | 6e 20 43 6f 6c 6f 75 72 |..Set Pe|n Colour|
|00000a80| 20 33 32 37 36 37 0d 77 | 65 6e 64 0d 0d 46 61 64 | 32767.w|end..Fad|
|00000a90| 65 20 44 6f 77 6e 0d 54 | 65 78 74 20 4d 6f 64 65 |e Down.T|ext Mode|
|00000aa0| 0d 46 61 64 65 20 55 70 | 0d 53 68 6f 77 20 4d 6f |.Fade Up|.Show Mo|
|00000ab0| 75 73 65 0d 0d 27 20 52 | 65 74 75 72 6e 73 20 74 |use..' R|eturns t|
|00000ac0| 68 65 20 66 69 72 73 74 | 20 66 72 65 65 20 66 77 |he first| free fw|
|00000ad0| 20 69 6e 64 65 78 2c 20 | 72 65 74 75 72 6e 73 20 | index, |returns |
|00000ae0| 2d 31 20 66 6f 72 20 6e | 6f 6e 65 0d 27 20 66 77 |-1 for n|one.' fw|
|00000af0| 20 6f 63 63 75 72 20 65 | 76 65 72 79 20 6b 4e 75 | occur e|very kNu|
|00000b00| 6d 50 61 72 74 69 63 6c | 65 20 65 6e 74 72 69 65 |mParticl|e entrie|
|00000b10| 73 20 69 6e 20 74 68 65 | 20 61 72 72 61 79 2c 20 |s in the| array, |
|00000b20| 74 68 65 20 73 70 61 63 | 65 73 20 69 6e 20 62 65 |the spac|es in be|
|00000b30| 74 77 65 65 6e 20 61 72 | 65 20 72 65 73 65 72 76 |tween ar|e reserv|
|00000b40| 65 64 20 66 6f 72 20 74 | 68 65 0d 27 20 66 77 20 |ed for t|he.' fw |
|00000b50| 70 61 72 74 69 63 6c 65 | 73 0d 50 72 6f 63 65 64 |particle|s.Proced|
|00000b60| 75 72 65 20 46 69 6e 64 | 46 72 65 65 46 77 28 29 |ure Find|FreeFw()|
|00000b70| 0d 09 69 6e 74 20 72 65 | 73 75 6c 74 3d 2d 31 2c |..int re|sult=-1,|
|00000b80| 69 09 09 09 27 20 73 65 | 74 20 72 65 73 75 6c 74 |i...' se|t result|
|00000b90| 20 74 6f 20 6e 6f 6e 65 | 20 69 6e 69 74 69 61 6c | to none| initial|
|00000ba0| 6c 79 0d 09 66 6f 72 20 | 69 3d 30 20 74 6f 20 6b |ly..for |i=0 to k|
|00000bb0| 4e 75 6d 46 77 2d 31 0d | 09 09 69 66 20 67 46 77 |NumFw-1.|..if gFw|
|00000bc0| 49 6e 55 73 65 5b 69 2a | 6b 4e 75 6d 50 61 72 74 |InUse[i*|kNumPart|
|00000bd0| 69 63 6c 65 73 5d 3d 6b | 4e 6f 74 49 6e 55 73 65 |icles]=k|NotInUse|
|00000be0| 0d 09 09 09 27 20 63 68 | 65 63 6b 20 61 6c 6c 20 |....' ch|eck all |
|00000bf0| 74 68 65 20 70 61 72 74 | 69 63 6c 65 73 20 61 72 |the part|icles ar|
|00000c00| 65 20 66 72 65 65 20 66 | 6f 72 20 74 68 65 20 66 |e free f|or the f|
|00000c10| 77 20 74 6f 6f 0d 09 09 | 09 69 6e 74 20 62 61 64 |w too...|.int bad|
|00000c20| 3d 66 61 6c 73 65 2c 70 | 0d 09 09 09 66 6f 72 20 |=false,p|....for |
|00000c30| 70 3d 69 2a 6b 4e 75 6d | 50 61 72 74 69 63 6c 65 |p=i*kNum|Particle|
|00000c40| 73 2b 31 20 74 6f 20 69 | 2a 6b 4e 75 6d 50 61 72 |s+1 to i|*kNumPar|
|00000c50| 74 69 63 6c 65 73 2b 6b | 4e 75 6d 50 61 72 74 69 |ticles+k|NumParti|
|00000c60| 63 6c 65 73 2d 31 0d 09 | 09 09 09 69 66 20 67 46 |cles-1..|...if gF|
|00000c70| 77 49 6e 55 73 65 5b 70 | 5d 3c 3e 6b 4e 6f 74 49 |wInUse[p|]<>kNotI|
|00000c80| 6e 55 73 65 0d 09 09 09 | 09 09 62 61 64 3d 74 72 |nUse....|..bad=tr|
|00000c90| 75 65 0d 09 09 09 09 09 | 70 3d 69 2a 6b 4e 75 6d |ue......|p=i*kNum|
|00000ca0| 50 61 72 74 69 63 6c 65 | 73 2b 6b 4e 75 6d 50 61 |Particle|s+kNumPa|
|00000cb0| 72 74 69 63 6c 65 73 09 | 27 20 65 78 69 74 20 6c |rticles.|' exit l|
|00000cc0| 6f 6f 70 0d 09 09 09 09 | 65 6e 64 20 69 66 0d 09 |oop.....|end if..|
|00000cd0| 09 09 6e 65 78 74 20 70 | 0d 09 09 09 69 66 20 6e |..next p|....if n|
|00000ce0| 6f 74 20 62 61 64 0d 09 | 09 09 09 72 65 73 75 6c |ot bad..|...resul|
|00000cf0| 74 3d 69 2a 6b 4e 75 6d | 50 61 72 74 69 63 6c 65 |t=i*kNum|Particle|
|00000d00| 73 0d 09 09 09 09 69 3d | 6b 54 6f 74 61 6c 50 61 |s.....i=|kTotalPa|
|00000d10| 72 74 69 63 6c 65 73 09 | 27 20 63 61 75 73 65 20 |rticles.|' cause |
|00000d20| 74 68 65 20 66 6f 72 20 | 6c 6f 6f 70 20 74 6f 20 |the for |loop to |
|00000d30| 65 78 69 74 20 6e 6f 77 | 0d 09 09 09 65 6e 64 20 |exit now|....end |
|00000d40| 69 66 0d 09 09 65 6e 64 | 20 69 66 0d 09 6e 65 78 |if...end| if..nex|
|00000d50| 74 20 69 0d 45 6e 64 20 | 50 72 6f 63 28 72 65 73 |t i.End |Proc(res|
|00000d60| 75 6c 74 29 0d 0d 27 20 | 47 65 6e 65 72 61 74 65 |ult)..' |Generate|
|00000d70| 73 20 61 20 6e 65 77 20 | 66 69 72 65 77 6f 72 6b |s a new |firework|
|00000d80| 20 69 66 20 73 70 61 63 | 65 20 69 73 20 61 76 61 | if spac|e is ava|
|00000d90| 69 6c 61 62 6c 65 0d 50 | 72 6f 63 65 64 75 72 65 |ilable.P|rocedure|
|00000da0| 20 53 70 61 77 6e 46 69 | 72 65 77 6f 72 6b 73 28 | SpawnFi|reworks(|
|00000db0| 29 0d 09 09 27 20 69 73 | 20 6f 6e 65 20 61 76 61 |)...' is| one ava|
|00000dc0| 69 6c 61 62 6c 65 3f 0d | 09 09 46 69 6e 64 46 72 |ilable?.|..FindFr|
|00000dd0| 65 65 46 77 28 29 0d 09 | 09 69 6e 74 20 66 77 49 |eeFw()..|.int fwI|
|00000de0| 6e 64 65 78 3d 52 65 73 | 75 6c 74 20 69 6e 74 0d |ndex=Res|ult int.|
|00000df0| 09 09 69 66 20 66 77 49 | 6e 64 65 78 3c 3e 2d 31 |..if fwI|ndex<>-1|
|00000e00| 0d 09 09 09 27 20 6d 61 | 6b 65 20 74 68 65 20 65 |....' ma|ke the e|
|00000e10| 6e 74 72 79 0d 09 09 09 | 67 46 77 4c 6f 63 5b 66 |ntry....|gFwLoc[f|
|00000e20| 77 49 6e 64 65 78 2c 30 | 5d 3d 52 61 6e 64 6f 6d |wIndex,0|]=Random|
|00000e30| 28 35 30 2c 6b 58 53 63 | 72 65 65 6e 2d 35 30 29 |(50,kXSc|reen-50)|
|00000e40| 0d 09 09 09 67 46 77 4c | 6f 63 5b 66 77 49 6e 64 |....gFwL|oc[fwInd|
|00000e50| 65 78 2c 31 5d 3d 6b 59 | 53 63 72 65 65 6e 0d 09 |ex,1]=kY|Screen..|
|00000e60| 09 09 67 46 77 53 70 65 | 65 64 5b 66 77 49 6e 64 |..gFwSpe|ed[fwInd|
|00000e70| 65 78 2c 30 5d 3d 52 61 | 6e 64 6f 6d 28 2d 6b 58 |ex,0]=Ra|ndom(-kX|
|00000e80| 53 70 65 65 64 4d 61 78 | 2c 6b 58 53 70 65 65 64 |SpeedMax|,kXSpeed|
|00000e90| 4d 61 78 29 0d 09 09 09 | 67 46 77 53 70 65 65 64 |Max)....|gFwSpeed|
|00000ea0| 5b 66 77 49 6e 64 65 78 | 2c 31 5d 3d 2d 52 61 6e |[fwIndex|,1]=-Ran|
|00000eb0| 64 6f 6d 28 6b 59 53 70 | 65 65 64 4d 69 6e 4c 61 |dom(kYSp|eedMinLa|
|00000ec0| 75 6e 63 68 2c 6b 59 53 | 70 65 65 64 4d 61 78 4c |unch,kYS|peedMaxL|
|00000ed0| 61 75 6e 63 68 29 0d 09 | 09 09 69 6e 74 20 6f 70 |aunch)..|..int op|
|00000ee0| 74 69 6d 75 6d 46 75 73 | 65 0d 09 09 09 6f 70 74 |timumFus|e....opt|
|00000ef0| 69 6d 75 6d 46 75 73 65 | 3d 2d 67 46 77 53 70 65 |imumFuse|=-gFwSpe|
|00000f00| 65 64 5b 66 77 49 6e 64 | 65 78 2c 31 5d 2f 6b 47 |ed[fwInd|ex,1]/kG|
|00000f10| 72 61 76 69 74 79 0d 09 | 09 09 67 46 77 46 75 73 |ravity..|..gFwFus|
|00000f20| 65 5b 66 77 49 6e 64 65 | 78 5d 3d 6f 70 74 69 6d |e[fwInde|x]=optim|
|00000f30| 75 6d 46 75 73 65 2b 52 | 61 6e 64 6f 6d 28 2d 6b |umFuse+R|andom(-k|
|00000f40| 46 77 46 75 73 65 56 61 | 72 2c 6b 46 77 46 75 73 |FwFuseVa|r,kFwFus|
|00000f50| 65 56 61 72 29 0d 09 09 | 09 67 46 77 49 6e 55 73 |eVar)...|.gFwInUs|
|00000f60| 65 5b 66 77 49 6e 64 65 | 78 5d 3d 6b 46 69 72 65 |e[fwInde|x]=kFire|
|00000f70| 57 6f 72 6b 0d 09 09 09 | 67 46 77 43 6f 6c 6f 75 |Work....|gFwColou|
|00000f80| 72 5b 66 77 49 6e 64 65 | 78 5d 3d 33 32 37 36 37 |r[fwInde|x]=32767|
|00000f90| 09 27 20 77 68 69 74 65 | 20 66 77 0d 09 09 65 6e |.' white| fw...en|
|00000fa0| 64 20 69 66 0d 45 6e 64 | 20 50 72 6f 63 0d 0d 27 |d if.End| Proc..'|
|00000fb0| 20 6d 6f 76 65 20 61 6c | 6c 20 66 69 72 65 20 77 | move al|l fire w|
|00000fc0| 6f 72 6b 73 20 74 68 61 | 74 20 61 72 65 20 69 6e |orks tha|t are in|
|00000fd0| 20 75 73 65 2c 20 64 69 | 6d 69 6e 69 73 68 20 74 | use, di|minish t|
|00000fe0| 68 65 69 72 20 74 69 6d | 65 72 73 20 61 6e 64 20 |heir tim|ers and |
|00000ff0| 62 6c 6f 77 20 74 68 65 | 6d 0d 27 20 75 70 20 69 |blow the|m.' up i|
|00001000| 66 20 74 68 65 79 20 72 | 65 61 63 68 20 7a 65 72 |f they r|each zer|
|00001010| 6f 0d 50 72 6f 63 65 64 | 75 72 65 20 41 6e 69 6d |o.Proced|ure Anim|
|00001020| 61 74 65 46 69 72 65 77 | 6f 72 6b 73 28 29 0d 09 |ateFirew|orks()..|
|00001030| 27 20 66 6f 72 20 61 6c | 6c 20 66 77 20 69 6e 20 |' for al|l fw in |
|00001040| 75 73 65 2e 2e 2e 0d 09 | 69 6e 74 09 69 0d 09 66 |use.....|int.i..f|
|00001050| 6f 72 20 69 3d 30 20 74 | 6f 20 6b 54 6f 74 61 6c |or i=0 t|o kTotal|
|00001060| 50 61 72 74 69 63 6c 65 | 73 2d 31 0d 09 09 69 66 |Particle|s-1...if|
|00001070| 20 67 46 77 49 6e 55 73 | 65 5b 69 5d 3c 3e 6b 4e | gFwInUs|e[i]<>kN|
|00001080| 6f 74 49 6e 55 73 65 0d | 09 09 09 27 20 6d 6f 76 |otInUse.|...' mov|
|00001090| 65 20 70 61 72 74 69 63 | 6c 65 0d 09 09 09 67 46 |e partic|le....gF|
|000010a0| 77 4c 6f 63 5b 69 2c 30 | 5d 3d 67 46 77 4c 6f 63 |wLoc[i,0|]=gFwLoc|
|000010b0| 5b 69 2c 30 5d 2b 67 46 | 77 53 70 65 65 64 5b 69 |[i,0]+gF|wSpeed[i|
|000010c0| 2c 30 5d 0d 09 09 09 67 | 46 77 4c 6f 63 5b 69 2c |,0]....g|FwLoc[i,|
|000010d0| 31 5d 3d 67 46 77 4c 6f | 63 5b 69 2c 31 5d 2b 67 |1]=gFwLo|c[i,1]+g|
|000010e0| 46 77 53 70 65 65 64 5b | 69 2c 31 5d 0d 09 09 09 |FwSpeed[|i,1]....|
|000010f0| 0d 09 09 09 27 20 61 70 | 70 6c 79 20 67 72 61 76 |....' ap|ply grav|
|00001100| 69 74 79 0d 09 09 09 67 | 46 77 53 70 65 65 64 5b |ity....g|FwSpeed[|
|00001110| 69 2c 31 5d 3d 67 46 77 | 53 70 65 65 64 5b 69 2c |i,1]=gFw|Speed[i,|
|00001120| 31 5d 2b 6b 47 72 61 76 | 69 74 79 0d 09 09 09 0d |1]+kGrav|ity.....|
|00001130| 09 09 09 27 20 64 69 6d | 69 6e 69 73 68 20 66 75 |...' dim|inish fu|
|00001140| 73 65 0d 09 09 09 67 46 | 77 46 75 73 65 5b 69 5d |se....gF|wFuse[i]|
|00001150| 3d 67 46 77 46 75 73 65 | 5b 69 5d 2d 31 0d 09 09 |=gFwFuse|[i]-1...|
|00001160| 09 0d 09 09 09 27 20 63 | 68 65 63 6b 20 66 6f 72 |.....' c|heck for|
|00001170| 20 64 65 61 74 68 0d 09 | 09 09 69 66 20 67 46 77 | death..|..if gFw|
|00001180| 46 75 73 65 5b 69 5d 3d | 30 0d 09 09 09 09 27 20 |Fuse[i]=|0.....' |
|00001190| 62 6c 6f 77 20 69 74 20 | 75 70 20 69 66 20 69 74 |blow it |up if it|
|000011a0| 27 73 20 61 20 66 77 0d | 09 09 09 09 69 66 20 67 |'s a fw.|....if g|
|000011b0| 46 77 49 6e 55 73 65 5b | 69 5d 3d 6b 46 69 72 65 |FwInUse[|i]=kFire|
|000011c0| 57 6f 72 6b 0d 09 09 09 | 09 09 45 78 70 6c 6f 64 |Work....|..Explod|
|000011d0| 65 28 69 29 0d 09 09 09 | 09 65 6c 73 65 09 27 20 |e(i)....|.else.' |
|000011e0| 65 78 70 69 72 65 64 20 | 70 61 72 74 69 63 6c 65 |expired |particle|
|000011f0| 0d 09 09 09 09 09 67 46 | 77 49 6e 55 73 65 5b 69 |......gF|wInUse[i|
|00001200| 5d 3d 6b 4e 6f 74 49 6e | 55 73 65 0d 09 09 09 09 |]=kNotIn|Use.....|
|00001210| 65 6e 64 20 69 66 0d 09 | 09 09 65 6e 64 20 69 66 |end if..|..end if|
|00001220| 0d 09 09 65 6e 64 20 69 | 66 0d 09 6e 65 78 74 20 |...end i|f..next |
|00001230| 69 0d 45 6e 64 20 50 72 | 6f 63 0d 0d 27 20 65 78 |i.End Pr|oc..' ex|
|00001240| 70 6c 6f 64 65 73 20 66 | 77 20 69 0d 50 72 6f 63 |plodes f|w i.Proc|
|00001250| 65 64 75 72 65 20 45 78 | 70 6c 6f 64 65 28 69 6e |edure Ex|plode(in|
|00001260| 74 20 69 29 0d 09 27 20 | 63 6f 70 79 20 73 6f 6d |t i)..' |copy som|
|00001270| 65 20 76 61 6c 75 65 73 | 20 62 65 66 6f 72 65 20 |e values| before |
|00001280| 77 65 20 6f 76 65 72 77 | 72 69 74 65 20 74 68 65 |we overw|rite the|
|00001290| 6d 0d 09 66 6c 6f 61 74 | 20 6f 72 69 67 58 53 70 |m..float| origXSp|
|000012a0| 65 65 64 3d 67 46 77 53 | 70 65 65 64 5b 69 2c 30 |eed=gFwS|peed[i,0|
|000012b0| 5d 0d 09 66 6c 6f 61 74 | 20 6f 72 69 67 59 53 70 |]..float| origYSp|
|000012c0| 65 65 64 3d 67 46 77 53 | 70 65 65 64 5b 69 2c 31 |eed=gFwS|peed[i,1|
|000012d0| 5d 0d 09 66 6c 6f 61 74 | 20 6f 72 69 67 58 4c 6f |]..float| origXLo|
|000012e0| 63 3d 67 46 77 4c 6f 63 | 5b 69 2c 30 5d 0d 09 66 |c=gFwLoc|[i,0]..f|
|000012f0| 6c 6f 61 74 20 6f 72 69 | 67 59 4c 6f 63 3d 67 46 |loat ori|gYLoc=gF|
|00001300| 77 4c 6f 63 5b 69 2c 31 | 5d 0d 09 69 6e 74 09 70 |wLoc[i,1|]..int.p|
|00001310| 0d 09 69 6e 74 09 63 6f | 6c 3d 67 50 61 72 74 69 |..int.co|l=gParti|
|00001320| 63 6c 65 43 6f 6c 6f 75 | 72 73 5b 52 61 6e 64 6f |cleColou|rs[Rando|
|00001330| 6d 28 30 2c 6b 4e 75 6d | 50 61 72 74 69 63 6c 65 |m(0,kNum|Particle|
|00001340| 43 6f 6c 6f 75 72 73 2d | 31 29 5d 0d 0d 09 27 20 |Colours-|1)]...' |
|00001350| 66 6f 72 20 65 61 63 68 | 20 70 61 72 74 69 63 6c |for each| particl|
|00001360| 65 20 72 65 73 65 72 76 | 65 64 20 66 6f 72 20 74 |e reserv|ed for t|
|00001370| 68 69 73 20 66 77 2c 20 | 6d 61 6b 65 20 69 74 20 |his fw, |make it |
|00001380| 65 78 70 6c 6f 64 65 20 | 6f 75 74 0d 09 66 6f 72 |explode |out..for|
|00001390| 20 70 3d 69 20 74 6f 20 | 69 2b 6b 4e 75 6d 50 61 | p=i to |i+kNumPa|
|000013a0| 72 74 69 63 6c 65 73 2d | 32 20 73 74 65 70 20 32 |rticles-|2 step 2|
|000013b0| 0d 09 09 27 20 61 6c 6c | 6f 63 61 74 65 20 32 20 |...' all|ocate 2 |
|000013c0| 70 61 72 74 69 63 6c 65 | 73 20 61 74 20 61 20 74 |particle|s at a t|
|000013d0| 69 6d 65 2c 20 63 6f 6e | 73 65 72 76 69 6e 67 20 |ime, con|serving |
|000013e0| 6d 6f 6d 65 6e 74 75 6d | 20 62 65 74 77 65 65 6e |momentum| between|
|000013f0| 20 74 68 65 6d 0d 09 09 | 27 20 66 69 72 73 74 20 | them...|' first |
|00001400| 67 65 6e 65 72 61 74 65 | 20 61 20 66 6f 72 63 65 |generate| a force|
|00001410| 20 66 6f 72 20 74 68 65 | 6d 20 74 6f 20 73 70 6c | for the|m to spl|
|00001420| 69 74 20 77 69 74 68 20 | 69 6e 20 62 6f 74 68 20 |it with |in both |
|00001430| 64 69 72 65 63 74 69 6f | 6e 73 0d 09 09 27 20 74 |directio|ns...' t|
|00001440| 68 65 20 66 6f 72 63 65 | 20 68 65 72 65 20 69 73 |he force| here is|
|00001450| 20 31 30 30 2a 20 74 68 | 65 20 73 70 65 65 64 20 | 100* th|e speed |
|00001460| 6f 66 20 74 68 65 20 73 | 70 6c 69 74 20 69 6e 20 |of the s|plit in |
|00001470| 70 69 78 65 6c 73 20 70 | 65 72 20 66 72 61 6d 65 |pixels p|er frame|
|00001480| 0d 09 09 27 20 74 68 69 | 73 20 69 73 20 74 6f 20 |...' thi|s is to |
|00001490| 61 6c 6c 6f 77 20 61 20 | 63 6f 6e 76 65 72 73 69 |allow a |conversi|
|000014a0| 6f 6e 20 74 6f 20 66 6c | 6f 61 74 69 6e 67 20 70 |on to fl|oating p|
|000014b0| 6f 69 6e 74 20 77 68 69 | 63 68 20 69 73 6e 27 74 |oint whi|ch isn't|
|000014c0| 20 73 75 70 70 6f 72 74 | 65 64 0d 09 09 27 20 62 | support|ed...' b|
|000014d0| 79 20 74 68 65 20 72 61 | 6e 64 6f 6d 20 6e 75 6d |y the ra|ndom num|
|000014e0| 62 65 72 20 67 65 6e 65 | 72 61 74 6f 72 0d 09 09 |ber gene|rator...|
|000014f0| 69 6e 74 20 78 46 6f 72 | 63 65 3d 52 61 6e 64 6f |int xFor|ce=Rando|
|00001500| 6d 28 6b 4d 69 6e 45 78 | 70 6c 6f 64 65 46 6f 72 |m(kMinEx|plodeFor|
|00001510| 63 65 2c 6b 4d 61 78 45 | 78 70 6c 6f 64 65 46 6f |ce,kMaxE|xplodeFo|
|00001520| 72 63 65 29 0d 09 09 69 | 6e 74 20 79 46 6f 72 63 |rce)...i|nt yForc|
|00001530| 65 3d 52 61 6e 64 6f 6d | 28 6b 4d 69 6e 45 78 70 |e=Random|(kMinExp|
|00001540| 6c 6f 64 65 46 6f 72 63 | 65 2c 6b 4d 61 78 45 78 |lodeForc|e,kMaxEx|
|00001550| 70 6c 6f 64 65 46 6f 72 | 63 65 29 0d 09 09 0d 09 |plodeFor|ce).....|
|00001560| 09 27 20 6e 6f 77 20 64 | 69 76 69 64 65 20 74 68 |.' now d|ivide th|
|00001570| 65 20 66 6f 72 63 65 20 | 62 65 74 77 65 65 6e 20 |e force |between |
|00001580| 74 68 65 20 32 20 70 61 | 72 74 69 63 6c 65 73 20 |the 2 pa|rticles |
|00001590| 72 61 6e 64 6f 6d 6c 79 | 20 62 75 74 20 73 6f 20 |randomly| but so |
|000015a0| 74 68 65 79 20 63 61 6e | 63 65 6c 20 65 61 63 68 |they can|cel each|
|000015b0| 20 6f 74 68 65 72 0d 09 | 09 27 20 6f 75 74 2c 20 | other..|.' out, |
|000015c0| 74 68 75 73 20 63 6f 6e | 73 65 72 76 69 6e 67 20 |thus con|serving |
|000015d0| 6d 6f 6d 65 6e 74 75 6d | 0d 09 09 27 20 74 68 65 |momentum|...' the|
|000015e0| 20 66 6f 72 63 65 20 63 | 6f 6d 62 69 6e 65 73 20 | force c|ombines |
|000015f0| 77 69 74 68 20 74 68 65 | 20 73 70 65 65 64 20 6f |with the| speed o|
|00001600| 66 20 74 68 65 20 70 61 | 72 65 6e 74 20 70 61 72 |f the pa|rent par|
|00001610| 74 69 63 6c 65 2c 20 28 | 69 65 20 74 68 65 20 66 |ticle, (|ie the f|
|00001620| 69 72 65 77 6f 72 6b 29 | 20 62 79 20 62 65 69 6e |irework)| by bein|
|00001630| 67 0d 09 09 27 20 61 64 | 64 65 64 20 74 6f 20 69 |g...' ad|ded to i|
|00001640| 74 0d 09 09 67 46 77 53 | 70 65 65 64 5b 70 2c 30 |t...gFwS|peed[p,0|
|00001650| 5d 3d 52 61 6e 64 6f 6d | 28 30 2c 78 46 6f 72 63 |]=Random|(0,xForc|
|00001660| 65 29 2f 31 30 30 2e 30 | 0d 09 09 67 46 77 53 70 |e)/100.0|...gFwSp|
|00001670| 65 65 64 5b 70 2b 31 2c | 30 5d 3d 2d 28 78 46 6f |eed[p+1,|0]=-(xFo|
|00001680| 72 63 65 2f 31 30 30 2e | 30 2d 67 46 77 53 70 65 |rce/100.|0-gFwSpe|
|00001690| 65 64 5b 70 2c 30 5d 29 | 0d 09 09 67 46 77 53 70 |ed[p,0])|...gFwSp|
|000016a0| 65 65 64 5b 70 2c 31 5d | 3d 52 61 6e 64 6f 6d 28 |eed[p,1]|=Random(|
|000016b0| 30 2c 79 46 6f 72 63 65 | 29 2f 31 30 30 2e 30 0d |0,yForce|)/100.0.|
|000016c0| 09 09 67 46 77 53 70 65 | 65 64 5b 70 2b 31 2c 31 |..gFwSpe|ed[p+1,1|
|000016d0| 5d 3d 2d 28 79 46 6f 72 | 63 65 2f 31 30 30 2e 30 |]=-(yFor|ce/100.0|
|000016e0| 2d 67 46 77 53 70 65 65 | 64 5b 70 2c 31 5d 29 0d |-gFwSpee|d[p,1]).|
|000016f0| 09 09 67 46 77 53 70 65 | 65 64 5b 70 2c 30 5d 3d |..gFwSpe|ed[p,0]=|
|00001700| 67 46 77 53 70 65 65 64 | 5b 70 2c 30 5d 2b 6f 72 |gFwSpeed|[p,0]+or|
|00001710| 69 67 58 53 70 65 65 64 | 0d 09 09 67 46 77 53 70 |igXSpeed|...gFwSp|
|00001720| 65 65 64 5b 70 2c 31 5d | 3d 67 46 77 53 70 65 65 |eed[p,1]|=gFwSpee|
|00001730| 64 5b 70 2c 31 5d 2b 6f | 72 69 67 59 53 70 65 65 |d[p,1]+o|rigYSpee|
|00001740| 64 0d 09 09 67 46 77 53 | 70 65 65 64 5b 70 2b 31 |d...gFwS|peed[p+1|
|00001750| 2c 30 5d 3d 67 46 77 53 | 70 65 65 64 5b 70 2b 31 |,0]=gFwS|peed[p+1|
|00001760| 2c 30 5d 2b 6f 72 69 67 | 58 53 70 65 65 64 0d 09 |,0]+orig|XSpeed..|
|00001770| 09 67 46 77 53 70 65 65 | 64 5b 70 2b 31 2c 31 5d |.gFwSpee|d[p+1,1]|
|00001780| 3d 67 46 77 53 70 65 65 | 64 5b 70 2b 31 2c 31 5d |=gFwSpee|d[p+1,1]|
|00001790| 2b 6f 72 69 67 59 53 70 | 65 65 64 0d 09 09 0d 09 |+origYSp|eed.....|
|000017a0| 09 27 20 73 65 74 20 74 | 68 65 20 6c 6f 63 61 74 |.' set t|he locat|
|000017b0| 69 6f 6e 73 20 6f 66 20 | 74 68 65 20 70 61 72 74 |ions of |the part|
|000017c0| 69 63 6c 65 73 20 74 6f | 20 62 65 20 74 68 65 20 |icles to| be the |
|000017d0| 73 61 6d 65 20 61 73 20 | 74 68 65 20 66 77 0d 09 |same as |the fw..|
|000017e0| 09 67 46 77 4c 6f 63 5b | 70 2c 30 5d 3d 6f 72 69 |.gFwLoc[|p,0]=ori|
|000017f0| 67 58 4c 6f 63 0d 09 09 | 67 46 77 4c 6f 63 5b 70 |gXLoc...|gFwLoc[p|
|00001800| 2c 31 5d 3d 6f 72 69 67 | 59 4c 6f 63 0d 09 09 67 |,1]=orig|YLoc...g|
|00001810| 46 77 4c 6f 63 5b 70 2b | 31 2c 30 5d 3d 6f 72 69 |FwLoc[p+|1,0]=ori|
|00001820| 67 58 4c 6f 63 0d 09 09 | 67 46 77 4c 6f 63 5b 70 |gXLoc...|gFwLoc[p|
|00001830| 2b 31 2c 31 5d 3d 6f 72 | 69 67 59 4c 6f 63 0d 09 |+1,1]=or|igYLoc..|
|00001840| 09 0d 09 09 27 20 73 65 | 74 20 74 68 65 20 69 6e |....' se|t the in|
|00001850| 20 75 73 65 20 66 6c 61 | 67 20 74 6f 20 70 61 72 | use fla|g to par|
|00001860| 74 69 63 6c 65 0d 09 09 | 67 46 77 49 6e 55 73 65 |ticle...|gFwInUse|
|00001870| 5b 70 5d 3d 6b 50 61 72 | 74 69 63 6c 65 0d 09 09 |[p]=kPar|ticle...|
|00001880| 67 46 77 49 6e 75 73 65 | 5b 70 2b 31 5d 3d 6b 50 |gFwInuse|[p+1]=kP|
|00001890| 61 72 74 69 63 6c 65 0d | 09 09 0d 09 09 27 20 73 |article.|.....' s|
|000018a0| 65 74 20 74 68 65 20 66 | 75 73 65 20 6f 66 20 74 |et the f|use of t|
|000018b0| 68 65 20 66 77 0d 09 09 | 67 46 77 46 75 73 65 5b |he fw...|gFwFuse[|
|000018c0| 70 5d 3d 52 61 6e 64 6f | 6d 28 6b 50 61 72 74 69 |p]=Rando|m(kParti|
|000018d0| 63 6c 65 4d 69 6e 46 75 | 73 65 2c 6b 50 61 72 74 |cleMinFu|se,kPart|
|000018e0| 69 63 6c 65 4d 61 78 46 | 75 73 65 29 0d 09 09 67 |icleMaxF|use)...g|
|000018f0| 46 77 46 75 73 65 5b 70 | 2b 31 5d 3d 52 61 6e 64 |FwFuse[p|+1]=Rand|
|00001900| 6f 6d 28 6b 50 61 72 74 | 69 63 6c 65 4d 69 6e 46 |om(kPart|icleMinF|
|00001910| 75 73 65 2c 6b 50 61 72 | 74 69 63 6c 65 4d 61 78 |use,kPar|ticleMax|
|00001920| 46 75 73 65 29 0d 09 09 | 0d 09 09 69 66 20 6b 4d |Fuse)...|...if kM|
|00001930| 75 6c 74 69 43 6f 6c 6f | 75 72 46 77 0d 09 09 09 |ultiColo|urFw....|
|00001940| 67 46 77 43 6f 6c 6f 75 | 72 5b 70 5d 3d 67 50 61 |gFwColou|r[p]=gPa|
|00001950| 72 74 69 63 6c 65 43 6f | 6c 6f 75 72 73 5b 52 61 |rticleCo|lours[Ra|
|00001960| 6e 64 6f 6d 28 30 2c 6b | 4e 75 6d 50 61 72 74 69 |ndom(0,k|NumParti|
|00001970| 63 6c 65 43 6f 6c 6f 75 | 72 73 2d 31 29 5d 0d 09 |cleColou|rs-1)]..|
|00001980| 09 09 67 46 77 43 6f 6c | 6f 75 72 5b 70 2b 31 5d |..gFwCol|our[p+1]|
|00001990| 3d 67 50 61 72 74 69 63 | 6c 65 43 6f 6c 6f 75 72 |=gPartic|leColour|
|000019a0| 73 5b 52 61 6e 64 6f 6d | 28 30 2c 6b 4e 75 6d 50 |s[Random|(0,kNumP|
|000019b0| 61 72 74 69 63 6c 65 43 | 6f 6c 6f 75 72 73 2d 31 |articleC|olours-1|
|000019c0| 29 5d 09 0d 09 09 65 6c | 73 65 0d 09 09 09 67 46 |)]....el|se....gF|
|000019d0| 77 43 6f 6c 6f 75 72 5b | 70 5d 3d 63 6f 6c 0d 09 |wColour[|p]=col..|
|000019e0| 09 09 67 46 77 43 6f 6c | 6f 75 72 5b 70 2b 31 5d |..gFwCol|our[p+1]|
|000019f0| 3d 63 6f 6c 0d 09 09 65 | 6e 64 20 69 66 0d 09 6e |=col...e|nd if..n|
|00001a00| 65 78 74 20 70 0d 45 6e | 64 20 50 72 6f 63 0d 0d |ext p.En|d Proc..|
|00001a10| 50 72 6f 63 65 64 75 72 | 65 20 44 72 61 77 46 69 |Procedur|e DrawFi|
|00001a20| 72 65 77 6f 72 6b 73 28 | 29 0d 09 27 20 66 6f 72 |reworks(|)..' for|
|00001a30| 20 61 6c 6c 20 74 68 65 | 20 66 69 72 65 77 6f 72 | all the| firewor|
|00001a40| 6b 73 20 77 68 69 63 68 | 20 61 72 65 20 69 6e 20 |ks which| are in |
|00001a50| 75 73 65 2c 20 64 72 61 | 77 20 74 68 65 6d 0d 09 |use, dra|w them..|
|00001a60| 69 6e 74 09 69 0d 09 66 | 6f 72 20 69 3d 30 20 74 |int.i..f|or i=0 t|
|00001a70| 6f 20 6b 54 6f 74 61 6c | 50 61 72 74 69 63 6c 65 |o kTotal|Particle|
|00001a80| 73 2d 31 0d 09 09 69 66 | 20 67 46 77 49 6e 55 73 |s-1...if| gFwInUs|
|00001a90| 65 5b 69 5d 3d 6b 46 69 | 72 65 57 6f 72 6b 0d 09 |e[i]=kFi|reWork..|
|00001aa0| 09 09 4c 69 6e 65 20 67 | 46 77 4c 6f 63 5b 69 2c |..Line g|FwLoc[i,|
|00001ab0| 30 5d 2d 67 46 77 53 70 | 65 65 64 5b 69 2c 30 5d |0]-gFwSp|eed[i,0]|
|00001ac0| 2f 32 2c 67 46 77 4c 6f | 63 5b 69 2c 31 5d 2d 67 |/2,gFwLo|c[i,1]-g|
|00001ad0| 46 77 53 70 65 65 64 5b | 69 2c 31 5d 2f 32 20 74 |FwSpeed[|i,1]/2 t|
|00001ae0| 6f 20 67 46 77 4c 6f 63 | 5b 69 2c 30 5d 2c 67 46 |o gFwLoc|[i,0],gF|
|00001af0| 77 4c 6f 63 5b 69 2c 31 | 5d 0d 09 09 65 6c 73 65 |wLoc[i,1|]...else|
|00001b00| 20 69 66 20 67 46 77 49 | 6e 55 73 65 5b 69 5d 3d | if gFwI|nUse[i]=|
|00001b10| 6b 50 61 72 74 69 63 6c | 65 0d 09 09 09 53 65 74 |kParticl|e....Set|
|00001b20| 20 50 69 78 65 6c 20 43 | 6f 6c 6f 75 72 20 67 46 | Pixel C|olour gF|
|00001b30| 77 4c 6f 63 5b 69 2c 30 | 5d 2c 67 46 77 4c 6f 63 |wLoc[i,0|],gFwLoc|
|00001b40| 5b 69 2c 31 5d 2c 67 46 | 77 43 6f 6c 6f 75 72 5b |[i,1],gF|wColour[|
|00001b50| 69 5d 0d 09 09 09 69 66 | 20 67 46 77 46 75 73 65 |i]....if| gFwFuse|
|00001b60| 5b 69 5d 3e 38 0d 09 09 | 09 09 53 65 74 20 50 69 |[i]>8...|..Set Pi|
|00001b70| 78 65 6c 20 43 6f 6c 6f | 75 72 20 67 46 77 4c 6f |xel Colo|ur gFwLo|
|00001b80| 63 5b 69 2c 30 5d 2b 31 | 2c 67 46 77 4c 6f 63 5b |c[i,0]+1|,gFwLoc[|
|00001b90| 69 2c 31 5d 2c 67 46 77 | 43 6f 6c 6f 75 72 5b 69 |i,1],gFw|Colour[i|
|00001ba0| 5d 0d 09 09 09 09 53 65 | 74 20 50 69 78 65 6c 20 |].....Se|t Pixel |
|00001bb0| 43 6f 6c 6f 75 72 20 67 | 46 77 4c 6f 63 5b 69 2c |Colour g|FwLoc[i,|
|00001bc0| 30 5d 2c 67 46 77 4c 6f | 63 5b 69 2c 31 5d 2b 31 |0],gFwLo|c[i,1]+1|
|00001bd0| 2c 67 46 77 43 6f 6c 6f | 75 72 5b 69 5d 0d 09 09 |,gFwColo|ur[i]...|
|00001be0| 09 09 53 65 74 20 50 69 | 78 65 6c 20 43 6f 6c 6f |..Set Pi|xel Colo|
|00001bf0| 75 72 20 67 46 77 4c 6f | 63 5b 69 2c 30 5d 2b 31 |ur gFwLo|c[i,0]+1|
|00001c00| 2c 67 46 77 4c 6f 63 5b | 69 2c 31 5d 2b 31 2c 67 |,gFwLoc[|i,1]+1,g|
|00001c10| 46 77 43 6f 6c 6f 75 72 | 5b 69 5d 0d 09 09 09 65 |FwColour|[i]....e|
|00001c20| 6e 64 20 69 66 0d 09 09 | 65 6e 64 20 69 66 0d 09 |nd if...|end if..|
|00001c30| 6e 65 78 74 20 69 0d 45 | 6e 64 20 50 72 6f 63 00 |next i.E|nd Proc.|
|00001c40| 00 00 06 00 00 00 00 00 | 00 00 00 00 04 00 03 00 |........|........|
|00001c50| 00 00 00 00 04 00 00 00 | 00 00 00 00 1a 00 01 00 |........|........|
|00001c60| 1b 00 05 02 3e 03 18 00 | 00 00 00 00 00 00 00 00 |....>...|........|
|00001c70| 00 00 00 00 00 00 00 00 | 00 01 00 00 00 1b f7 00 |........|........|
|00001c80| 00 1a f7 00 00 00 9e 53 | 4f 52 54 04 42 00 80 00 |.......S|ORT.B...|
|00001c90| 1c 00 82 00 04 42 61 73 | 63 00 00 00 2a 49 6d 42 |.....Bas|c...*ImB|
|00001ca0| 6b 00 00 00 36 50 72 6f | 67 00 00 00 42 53 6e 42 |k...6Pro|g...BSnB|
|00001cb0| 6b 00 00 00 4e 57 42 6c | 6b 00 00 00 5a 00 80 00 |k...NWBl|k...Z...|
|00001cc0| 00 00 00 00 00 00 00 00 | 00 00 80 00 0a 00 00 1a |........|........|
|00001cd0| c9 00 00 00 00 00 80 ff | ff 00 00 1a bf 00 00 00 |........|........|
|00001ce0| 00 00 80 00 13 00 00 1a | d1 00 00 00 00 00 80 ff |........|........|
|00001cf0| ff 00 00 1a d9 0e 50 99 | 84 09 46 69 72 65 77 6f |......P.|..Firewo|
|00001d00| 72 6b 73 08 55 6e 74 69 | 74 6c 65 64 08 55 6e 74 |rks.Unti|tled.Unt|
|00001d10| 69 74 6c 65 64 00 00 00 | 00 00 00 00 00 00 00 00 |itled...|........|
|00001d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+